1、exec函数簇
	用磁盘上的可执行文件替换当前进程环境，当前进程仅保持PID不变
	path: 文件名，包含完整路径
	file: 文件名，如果不包含完整路径则在PATH环境变量的路径中搜索
	arg: 命令行参数，参数最后一个是NULL
	envp: 环境变量表
	成功后不会返回，直接进入新的程序，失败返回-1
	int execl(const char *path, const char *arg, ... /* (char  *) NULL */);
	int execlp(const char *file, const char *arg, ... /* (char  *) NULL */);
	int execle(const char *path, const char *arg, ... /*, (char *) NULL, */ /* char * const envp[] */);
	int execv(const char *path, char *const argv[]);
	int execvp(const char *file, char *const argv[]);
	int execvpe(const char *file, char *const argv[], char *const envp[]);
2、exec函数簇后缀
	l 采用逐个列出的方式传递参数，参数列表最后一个为NULL
	v 采用字符指针数组的方式传递参数，字符指针数组最后一个元素存NULL
	e 能传递环境表，环境表采用字符指针数组传递，且字符指针数组最后一个元素存NULL
	p 如果环境变量PATH包含了可执行文件的路径，则可以只给出文件名
